import xlrd#读excel用
'''
读文件模块
输入：文件名（excel格式且在工作目录下）,要从第几列开始（int，默认第1列，从一开始数,包含此列），到第几列结束（int，默认最后一列，包含此列,不支持-1）
输出：list数据类型的数据
'''
class Read_data:
    #初始化
    def __init__(self,filename="data_siguniangshan.xlsx",first_col=1,last_col=-1):
        self.filename=filename
        self.outputdata=[]
        self.first_col=first_col
        self.last_col=last_col

        self.mainProcess(filename)
        # print(self.outputdata)

    #main函数
    def mainProcess(self, filename):
        excel_path =filename
        excel = xlrd.open_workbook(excel_path,encoding_override="utf-8")
        all_sheet = excel.sheets()
        self.loopread(all_sheet)
        
        if self.first_col !=1 or self.last_col !=-1:
            self.outputdata=[b[self.first_col-1:self.last_col] for b in self.outputdata]


        
    #循环从sheets中读数据
    def loopread(self,sheets):
        sheet_row = []#存每一行的数据
        all_data=[]#存所有数据
        #循环获取每行数据
        for sheet in sheets:#每个sheet进行获取
            nrows = sheet.nrows#获取一共多少行
            for row in range(0,nrows,1):#循环获取每行的值
                sheet_row=sheet.row_values(row)
                all_data.append(sheet_row)
        self.outputdata=all_data
        
#单独类测试
# sdata=Read_data("data_siguniangshan.xlsx")
# print(sdata.outputdata)